package org.feifei.user.service;

import org.feifei.basic.service.BaseService;
import org.feifei.user.domain.User;
import org.feifei.user.dto.UserDTO;

import java.util.Map;

/**
 * User的 Service层接口
 */
public interface UserService extends BaseService<User> {
    /**
     * 校验当前手机号,
     * 1、该手机号是否已经被注册
     * 2. 该手机号请求验证时间是否不超过1min
     * 3. 验证码失效或者已经过期
     *
     * @param phone
     */
    void verifyCode(String phone);

    /**
     * 用户通过手机号注册，需要检验 手机号码，密码，验证码
     * @param userDto
     */
    void registerByPhone(UserDTO userDto);

    /**
     * 验证码获取
     * @param phone
     */
    void bindUserByPhone(String phone);

    /**
     * 修改User的状态
     * @param map
     */
    void updateState(Map<String, Object> map);

    /**
     * 当用户通过手机号登陆时,发送验证码
     * @param phone
     */
    void verifyCodeLoginByPhone(String phone);
}
